package top.gangster.lunan.ossservice.service;

import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSSException;
import org.springframework.web.multipart.MultipartFile;

public interface OSSService {

	/**
	 * 上传指定的模板文件，在OSS中以fileName命名
	 * @param file 合同模板文件
	 * @param fileName 保存到OSS中的文件名
	 * @return 返回访问该文件的url路径
	 */
	String saveTemplate(MultipartFile file, String fileName) throws Exception;

	/**
	 * 根据文件名，在阿里云OSS中删除指定的合同模板文件
	 * @param fileName 模板文件名（包括后缀）
	 */
	void deleteTemplate(String fileName) throws OSSException, ClientException;

	/**
	 * 上传指定的合同文件，在OSS中以fileName命名
	 * @param file 合同文件
	 * @param fileName 保存到OSS中的文件名
	 * @return 返回访问该文件的url路径
	 */
	String saveContract(MultipartFile file, String fileName) throws Exception;

	/**
	 * 根据文件名，在阿里云OSS中删除指定的合同文件
	 * @param fileName 合同文件名（包括后缀）
	 */
	void deleteContract(String fileName) throws OSSException, ClientException;
}
